package com.winbomb.kingcard;

/**
 * 游戏中玩家每轮能够选择的四个动作
 * 
 * @author winbomb
 * 
 */
public enum Action {
	/**
	 * 出征
	 */
	BATTLE {
		public String getName() {
			return "出征";
		}
	},

	/**
	 * 修养
	 */
	REST {
		public String getName() {
			return "修养";
		}
	},

	/**
	 * 夺权
	 * 
	 * 如果玩家同时拥有大王和消亡,就可以代替势力原来的主公,成为该势力新的主公.
	 * 
	 */
	TAKE_POWER {
		public String getName() {
			return "夺权";
		}
	}, // 独立

	/**
	 * 派遣
	 * 
	 * 只有主公才能使用该操作, 指主公给附属在自己旗下的某个势力一定数量的牌( <= 3 && >=1)
	 * 
	 * 如果目标势力尚处于灭亡状态,则得到三张牌后可以额外从牌堆中起两张牌进行复活.
	 */
	SEND_OUT {
		public String getName() {
			return "派遣";
		}
	},

	/**
	 * 征召
	 * 
	 * 只有主公才能使用该操作, 指主用从附属在自己旗下的某个势力抽取一定数量的牌( <= 2)
	 * 
	 * 
	 */
	CALL_UP {
		public String getName() {
			return "征召";
		}
	}, // 征召

	/**
	 * 追击
	 * 
	 * 追击不能作为每回合开始时的动作,只能作为战斗胜利后的可选动作.
	 */
	CHASE_ATTACK {
		public String getName() {
			return "追击";
		}
	},

	/**
	 * 撤军
	 * 
	 * 即胜利之后不进行追击
	 */
	WITHDRAW {
		public String getName() {
			return "罢兵";
		}
	}; // 撤军

	public abstract String getName();
}